ENDIF(WIN32 AND NOT MINGW)
# Collect executable as part of global DCMTK_EXECUTABLE_TARGETS property
- SET_PROPERTY(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM})
+# SET_PROPERTY(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM})
# declare installation files, also export DCMTKTargets.cmake
INSTALL(TARGETS ${PROGRAM}
- EXPORT DCMTKTargets
+# EXPORT DCMTKTargets
COMPONENT bin
DESTINATION ${DCMTK_INSTALL_BINDIR})
ENDIF(BUILD_APPS)
#SET(DCMTK_PACKAGE_URL "http://www.dcmtk.org/")
# Shared library version information
-SET(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_PACKAGE_VERSION}" SOVERSION "${DCMTK_ABI_VERSION}")
+SET(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_PACKAGE_VERSION}.abi2" SOVERSION "${DCMTK_ABI_VERSION}")
# General build options and settings
OPTION(BUILD_APPS "Build command line applications and test programs." ON)
/* The path on the Android device that should be used for temporary files */
#cmakedefine ANDROID_TEMPORARY_FILES_LOCATION "@ANDROID_TEMPORARY_FILES_LOCATION@"
+/* Define if the compiler supports __alignof__ */
+#cmakedefine HAVE_GNU_ALIGNOF
+
+/* Define if the compiler supports __alignof */
+#cmakedefine HAVE_MS_ALIGNOF
+
+/* Define if the compiler supports __attribute__(aligned) */
+#cmakedefine HAVE_ATTRIBUTE_ALIGNED
+
+/* Define if the compiler supports __declspec(align) */
+#cmakedefine HAVE_DECLSPEC_ALIGN
+
#endif /* !OSCONFIG_H*/
fi
])
+AC_DEFUN([AC_CHECK_ALIGNOF],
+[
+ AC_MSG_CHECKING([for __alignof__])
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [
+ int main(){char c[__alignof__(int)];return 0;}
+ ])
+ ],
+ [dcmtk_have_alignof=[yes]],
+ [dcmtk_have_alignof=[no]]
+ )
+ if test "$dcmtk_have_alignof" = yes; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE($1,[1],[Define if __alignof__ is available])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
+AC_DEFUN([AC_CHECK_ATTRIBUTE_ALIGNED],
+[
+ AC_MSG_CHECKING([for __attribute__((aligned))])
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [
+ int main(){__attribute__((aligned(4))) char c[16];return 0;}
+ ])
+ ],
+ [dcmtk_have_attribute_aligned=[yes]],
+ [dcmtk_have_attribute_aligned=[no]]
+ )
+ if test "$dcmtk_have_attribute_aligned" = yes; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE($1,[1],[Define if __attribute__((aligned)) is available])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
dnl
dnl CHECK_VLA checks if the C Compiler supports variable-length arrays
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __alignof__" >&5
+$as_echo_n "checking for __alignof__... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){char c__alignof__(int);return 0;}
+
+
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ dcmtk_have_alignof=yes
+else
+ dcmtk_have_alignof=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$dcmtk_have_alignof" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_GNU_ALIGNOF 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((aligned))" >&5
+$as_echo_n "checking for __attribute__((aligned))... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){__attribute__((aligned(4))) char c16;return 0;}
+
+
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ dcmtk_have_attribute_aligned=yes
+else
+ dcmtk_have_attribute_aligned=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$dcmtk_have_attribute_aligned" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
CFLAGS="$DEBUGCFLAGS $CFLAGS"
CXXFLAGS="$DEBUGCXXFLAGS $CXXFLAGS"
/* Define if __attribute__((aligned)) is available */
#undef HAVE_ATTRIBUTE_ALIGNED
+/* Define if __attribute__((aligned)) is available */
+#undef HAVE_ATTRIBUTE_ALIGNED
+
/* Define to 1 if you have the `bcmp' function. */
#undef HAVE_BCMP
/* Define if __alignof__ is available */
#undef HAVE_GNU_ALIGNOF
+/* Define if __alignof__ is available */
+#undef HAVE_GNU_ALIGNOF
+
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
# declare installation files
-INSTALL(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION ${DCMTK_INSTALL_DATDIR} COMPONENT data)
+INSTALL(FILES dicom.dic acrnema.dic private.dic diconde.dic DESTINATION ${DCMTK_INSTALL_DATDIC} COMPONENT data)
PROJECT(dcmjpls)
# recurse into subdirectories
-FOREACH(SUBDIR libsrc libcharls apps include)
+FOREACH(SUBDIR libsrc apps include)
ADD_SUBDIRECTORY(${SUBDIR})
ENDFOREACH(SUBDIR)
# make sure executables are linked to the corresponding libraries
FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
- DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd)
+ DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls CharLS dcmimage dcmimgle dcmdata oflog ofstd ofstd)
ENDFOREACH(PROGRAM)
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/libcharls ${ofstd_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${ofstd_SOURCE_DIR}/include)
# create library from source files
DCMTK_ADD_LIBRARY(charls header intrface jpegls)
# declare additional include directories
-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpls_SOURCE_DIR}/libcharls ${ZLIB_INCDIR})
+INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${ZLIB_INCDIR})
# create library from source files
DCMTK_ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece)
-DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage charls)
+DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage CharLS)
#include "djerror.h" /* for private class DJLSError */
// JPEG-LS library (CharLS) includes
-#include "intrface.h"
+#include "CharLS/interface.h"
E_TransferSyntax DJLSLosslessDecoder::supportedTransferSyntax() const
{
#include "dcmtk/dcmimgle/dcmimage.h" /* for class DicomImage */
// JPEG-LS library (CharLS) includes
-#include "intrface.h"
+#include "CharLS/interface.h"
BEGIN_EXTERN_C
#ifdef HAVE_FCNTL_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmjpls/djlsutil.h" /* For the OFCondition codes */
-#include "intrface.h" /* CharLS include */
+#include "CharLS/interface.h" /* CharLS include */
/** Helper class for converting between dcmjpls and CharLS error codes
*/
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#endif
- setTCPBufferLength(sock);
+ //setTCPBufferLength(sock);
#ifndef DONT_DISABLE_NAGLE_ALGORITHM
/*
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#endif
- setTCPBufferLength(s);
+ //setTCPBufferLength(s);
#ifndef DONT_DISABLE_NAGLE_ALGORITHM
/*
NetworkTCPPort = 104
MaxPDUSize = 8192
MaxAssociations = 20
-UserName = (do not change user)
-GroupName = (do not change group)
+UserName = "dcmtk"
+GroupName = "dcmtk"
NOTE: You must have root privileges to bind port 104 for DICOM association
requests on Unix/Linux/Posix platforms as this is a privileged port number
NetworkTCPPort = 104
MaxPDUSize = 16384
MaxAssociations = 16
+UserName = "dcmtk"
+GroupName = "dcmtk"
+
#
# UserName = <not used>
# GroupName = <not used>
# NOTE: in the current implementation you cannot substitute an IP address
# for a hostname.
#
-acme1 = (ACME1, acmehost1, 5678)
-acme2 = (ACME2, acmehost2, 5678)
-acmeCTcompany = acme1, acme2
-united1 = (UNITED1, unitedhost1, 104)
-united2 = (UNITED2, unitedhost2, 104)
-unitedMRcompany = united1, united2
+# Example:
+#acme1 = (ACME1, acmehost1, 5678)
+#acme2 = (ACME2, acmehost2, 5678)
+#acmeCTcompany = acme1, acme2
+#united1 = (UNITED1, unitedhost1, 104)
+#united2 = (UNITED2, unitedhost2, 104)
+#unitedMRcompany = united1, united2
#
HostTable END
# VendorName = SymbolicName
# The symbolic name should be defined in the HostTable.
#
-"Acme CT Company" = acmeCTcompany
-"United MR Company" = unitedMRcompany
+# Example:
+#"Acme CT Company" = acmeCTcompany
+#"United MR Company" = unitedMRcompany
#
VendorTable END
# Entry in HostTable |
# ANY
#
-COMMON /home/dicom/db/COMMON R (200, 1024mb) ANY
-ACME_STORE /home/dicom/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
-UNITED_STORE /home/dicom/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
+# Example:
+#
+#ACME_STORE /var/lib/dcmtk/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
+#UNITED_STORE /var/lib/dcmtk/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
+#
+# Uncomment and adjust the following lines for a common r/rw storage area:
+#READWRITE /var/lib/dcmtk/db/READWRITE RW (10, 1024mb) ANY
+#READ /var/lib/dcmtk/db/READ R (200, 1024mb) ANY
#
AETable END
export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed
# needed for the tests
-export DCMDICTPATH=dcmdata/data/dicom.dic
+DEB_CONFIGURE_SCRIPT_ENV += DCMDICTPATH=dcmdata/data/dicom.dic
# deduce documentation option (build-indep target)
ifeq "" "$(filter %-doc,$(shell dh_listpackages))"
OFoptional<int> o0( 3 ), o1, o2( OFnullopt );
+ COUT << OFalignof(OFoptional<char>) << ' ' << sizeof(OFoptional<char>) << OFendl;
+ COUT << OFalignof(OFoptional<short>) << ' ' << sizeof(OFoptional<short>) << OFendl;
+ COUT << OFalignof(OFoptional<float>) << ' ' << sizeof(OFoptional<float>) << OFendl;
+ COUT << OFalignof(long) << ' ' << sizeof(long) << ' ' << OFalignof(OFoptional<long>) << ' ' << sizeof(OFoptional<long>) << OFendl;
+
OFCHECK( o0 && *o0 == 3 );
OFCHECK( !o1 && !o2 );